Add GskGLShaderNode and GskGLShader
authorAlexander Larsson <alexl@redhat.com>
Fri, 18 Sep 2020 15:46:57 +0000 (17:46 +0200)
committerAlexander Larsson <alexl@redhat.com>
Tue, 29 Sep 2020 07:51:16 +0000 (09:51 +0200)
commit7ea755e206c36960db05f0e0660c6f5f20b692c6
tree56a83de7a5cd4f40d8f4ab539f4b3211015a4f12
parent6e9b58b6f081f3cf1cba697adada8cd3bc2438d5
Add GskGLShaderNode and GskGLShader

A GskGLShader is an abstraction of a GLSL fragment shader that
can produce pixel values given inputs:
 * N (currently max 4) textures
 * Current arguments for the shader uniform
Uniform types are: float,(u)int,bool,vec234)
There is also a builder for the uniform arguments which are
passed around as immutable GBytes in the built form.

A GskGLShaderNode is a render node that renders a GskGLShader inside a
specified rectangular bounds. It renders its child nodes as textures
and passes those as texture arguments to the shader. You also pass it
a uniform arguments object.
14 files changed:
docs/reference/gsk/gsk4-docs.xml
docs/reference/gsk/gsk4-sections.txt
docs/reference/gsk/gsk4.types
gsk/gsk.h
gsk/gskenums.h
gsk/gskglshader.c [new file with mode: 0644]
gsk/gskglshader.h [new file with mode: 0644]
gsk/gskglshaderprivate.h [new file with mode: 0644]
gsk/gskrendernode.h
gsk/gskrendernodeimpl.c
gsk/gskrendernodeparser.c
gsk/gskrendernodeprivate.h
gsk/meson.build
gtk/inspector/recorder.c